#include <iostream>
#include <string.h>
#define weishu 30
using namespace std;
int first[weishu];
int last[weishu];
int main()
{
	int jishu=2;
	cout<<0<<endl<<1<<endl;
	bool flag=false;
	memset(first,0,sizeof(first));
	memset(last,0,sizeof(last));
	last[0]=1;
	while(jishu<=100){
		int jinwei=0;
		for(int i=0;i<weishu;i++){
			if(flag==false){
				int temp=first[i]+last[i]+jinwei;
				first[i]=temp%10;
				jinwei=temp/10;
			}
			else{
				int temp=first[i]+last[i]+jinwei;
				last[i]=temp%10;
				jinwei=temp/10;
			}
		}
		
		if(flag==false){
			int j;
			for(j=weishu-1;j>=0;j--){
				if(first[j]==0) continue;
				else{
					break;
				}
			}
			for(;j>=0;j--) {
				cout<<first[j];
			} 
			cout<<endl;
			flag=true;
		}
		else {
			int j;
			for(j=weishu-1;j>=0;j--){
				if(last[j]==0) continue;
				else{
					break;
				}
			}
			for(;j>=0;j--) {
				cout<<last[j];
			}
			cout<<endl;
			flag=false;	
		}
		jishu++;
	}
	return 0;
} 
